In certain graphics processing applications, an array of texels is requested by a data processing system from a plurality of textures. A texture comprises an array of values representing spatially varying attributes applied to some object or geometry surface. The plurality of textures may require a very large storage capacity compared to the processor memory of a computer comprising a processor, wherein at the same time, a processing system may request the texels that are randomly distributed across the plurality of textures. If the processor memory capacity is not enough to store the plurality of textures, the textures are stored “out-of-core” (e.g., in an external memory distinct from a processor memory).
Further, some scenes for feature film rendering and visualization have high detail complexity, and can easily contain millions of textures mapped on geometry surfaces. Certain film scene representations comprise textures of high resolution, wherein texture resolution refers to the size of an array of texels representing a texture. Some detailed textures comprise from a few thousand to a billion of texels. Such graphics scenes may require from several gigabytes to terabytes of storage capacity to be able to store all the detailed textures attached to the objects. Demands for greater photorealism, more realistic materials, complex lighting and global illumination push computational bounds, which often result in long render times and out-of-core data access even on large systems.